#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>

int main()
{
	char arr1[100] = "";
	char arr2[100] = "";
	int arr3[100] = { 0 };
	gets(arr1);
	int i = 0;
	int k = 1;
	for (i = 0; i < strlen(arr1); i++)
	{
		if (arr1[i] == ' ')
		{
			arr3[k] = i;
			k++;
		}
	}
	if (k == 1)
	{
		printf("%s", arr1);
	}
	else
	{
		int i = 0;
		int j = 1;
		int num = 0;
		for (i = arr3[k - 1] + 1; i < strlen(arr1); i++, num++)
			arr2[num] = arr1[i];
		arr2[num] = ' ';
		num++;
		while (k >= 3)
		{
			for (i = arr3[k - 2], j = arr3[k - 1]; i + 1 < j; i++, num++)
				arr2[num] = arr1[i + 1];
			k --;
			arr2[num] = ' ';
			num++;
		}
		for (i = 0, j = arr3[1]; i < j; i++,num++)
			arr2[num] = arr1[i];
		printf("%s", arr2);
	}
	return 0;
}
//int count(char arr[100])
//{
//	int max = 0;
//	int i = 0;
//	for (i = 0; i < strlen(arr); i++)
//	{
//		if (arr[i] == ' ')
//			max = i + 1;
//	}
//	return max;
//}
//int main()
//{
//	char arr[100] = "";
//	char arr1[100] = "";
//	gets(arr);
//	int k = 0;
//	int flag = 0;
//	while (count(arr))
//	{
//		int max = count(arr);
//		int num = max;
//		for (num = max-1; num >= 0; num--)
//		{
//			if (arr[num] == ' ')
//				break;
//		}
//		if (flag == 0)
//		{
//			for (; max < strlen(arr); max++, k++)
//			{
//				arr1[k] = arr[max];
//			}
//			flag = 1;
//		}
//		else
//		{
//			for(;num<;)
//		}
//		
//	}
//	printf("%s", arr1);
//	return 0;
//}
//int main()
//{
//	char arr[100] = "";
//	gets(arr);
//	printf("%zd", strlen(arr));
//	for (int i = 0; i < strlen(arr); i++)
//	{
//		if (arr[i] == ' ')
//			printf("%d\n", i);
//	}
//	return 0;
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	int c = 0;
//	if (a > b)
//		c = a;
//	else
//		c = b;
//	for (;; c++)
//	{
//		if (c % a == 0 && c % b == 0)
//			break;
//	}
//	printf("%d",c);
//	return 0;
//}